// pages/campManage/campManage.js
const http = require("../../api/camp")
const {oss_url} = require("../../utils/request")
import Dialog from '@vant/weapp/dialog/dialog';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    active: 0,
    campList: [],
    oss_url: oss_url,
    userId: wx.getStorageSync('userInfo').userId,
    statuses: [
      { id: 1, status: '草稿箱', isActive: false },
      { id: 2, status: '待审核', isActive: false }, 
      { id: 3, status: '审核通过', isActive: false },  
      { id: 4, status: '审核失败', isActive: false },  
    ],
    state: null,
    approve: null
  },
  // 点击tab栏切换
  onChange(event) {
    // console.log(event,"event123")
    this.setData({
      userType: event.detail.name
    })
    // 每次点击tab调用接口
    this.getCampList()
  },
  // 获取营地列表
  getCampList(){
    //组合数据
    let data = {
      userId: this.data.userId
    }
    if(this.data.userType){
      data.userType = this.data.userType
    }
    if(this.data.state){
      data.state = this.data.state
    }
    if(this.data.approve===0 || this.data.approve){
      data.approve = this.data.approve
    }
    http.campList(data).then(res => {
      console.log(res,"营地列表")
      if(res.code == 200) {
        // console.log(res)
        res.rows.forEach(item=>{
          // 判断有没有逗号 有就是多张图片 取第一张图片
          if(item.imageUrl.indexOf(',') != -1){
            item.images = item.imageUrl.split(',');
            item.imageUrl = item.images[0];
          }
        });
        this.setData({
          campList: res.rows
        });
      }
    });
  },
  // 点击筛选的按钮
  handleStatusTap(e) {  
    const id = e.currentTarget.dataset.id;  
    
    // 处理点击选中状态  
    const newStatuses = this.data.statuses.map(status => ({  
      ...status,  
      isActive: status.id === id, // 如果status的id与点击的id相同，则isActive为true，否则为false  
    }));  
    
    // 初始化state和approve为null，避免未设置时传递旧值  
    let state = null;  
    let approve = null;  
    
    // 根据不同的id设置state或approve的值  
    if (id === 1) {  
      state = 1; // 点击草稿  
    } else if (id >= 2 && id <= 4) {  
      approve = id - 2; // 2对应0, 3对应1, 4对应2  
    }  
    
    // 一次性更新状态和参数  
    this.setData({  
      statuses: newStatuses,  
      state: state,  
      approve: approve,  
    });  
    
    // 现在state和approve都已经被正确设置（或重置为null），可以调用getCampList  
    this.getCampList();  
  },
  // 删除营地
  delCamp(e){
    const {campId} = e.currentTarget.dataset
    Dialog.confirm({
      title: '营地删除',
      message: '您确定删除该营地吗？',
    })
      .then(() => {
        http.deleteCamp(campId).then(res=>{
          if(res.code == 200){
            this.getCampList()
          }
        })
      })
      .catch(() => {
        // on cancel
        console.log("取消删除了")
      });
  },
  // 查看营地详情
  campDetail(e){
    const {campId} = e.currentTarget.dataset
    wx.navigateTo({
      url: `/pages/campDetail/campDetail?campId=${campId}`,
    })
  },
  // 其他设置
  otherSet(e){
    const {campId} = e.currentTarget.dataset
    wx.navigateTo({
      url: `/pages/campInfo/campInfo?campId=${campId}`,
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getCampList()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})